<?PHP
if (!defined('DOMAIN_NAME')) {
    #判断运行环境是生产环境还是测试环境。从而设置常量“DOMAIN_NAME(域名常量)”
    if (!empty(get_cfg_var( 'DOMAIN_NAME'))){
        define('DOMAIN_NAME', get_cfg_var( 'DOMAIN_NAME'));
    }else{
        define('DOMAIN_NAME', 'nbyyy.com');
    }
}

/**
 * 微信配置文件
 */
class WxConf{
    //测试公众号
    const APPID = 'xxx';
    const MCHID = 'xxx';
    const KEY = 'xxx';
    const APPSECRET = 'xxx';
    const TOKEN = 'xxx';//公众号token
    const SSLCERT_PATH = '/home/wwwroot/pay.ismbao.com/cert/xxx.pem';
    const SSLKEY_PATH = '/home/wwwroot/pay.ismbao.com/cert/xxx.pem';
}


/**
 * redis配置文件
 */
class redisConf{
    /**
     * redis 服务器地址
     */
    const REDIS_SERVER = "127.0.0.1";//170测试环境
    /**
     * redis 端口
     */
    const REDIS_PORT = "3679";//所有环境都用的一共端口号
    /**
     * //超时时间
     */
    const REDIS_TIMEOUT = 0.0;
    /**
     * 数据库名称
     */
    const REDIS_DBINDEX = 0;
    /**
     * 数据库用户名
     */
    const REDIS_USERNAME = '';
    /**
     * 数据库密码
     */
    const REDIS_PASSWORD = '';
    /**
     * 是否启用长连接
     */
    const REDIS_PCONNECT = true;
    /**
     * 验证密码
     */
    const REDIS_AUTH_PASS = 'xxxxxxxx';//177新测试环境
}

/**
 * MongoDb配置类
 */
class MongoDbConf{
    /**
     * 获取数据库配置
     * @param string $config_name
     * @return array|mixed
     */
    public static function getConfig($config_name){
        $config_name = empty($config_name)?'SDF':trim($config_name);

        //本地服务器 127.0.0.1
        $conf_default = array(
            'uri' => 'mongodb://192.168.1.9:27017' ,//连接
            'uriOptions'=>array(
                'username'=>'root',//用户名
                'password'=>'Awudei0O',//用户密码
                'authSource'=>'admin',//检验数据库
            )
            //'use_db'=>'ismbao',//选择需要操作的库
        );
        //日志服务器
        $conf_log= array(
            'uri' => 'mongodb://192.168.1.9:27017' ,//连接
            'uriOptions'=>array(
                'username'=>'root',//用户名
                'password'=>'Awudei0O',//用户密码
                'authSource'=>'admin',//检验数据库
            ),
            //'use_db'=>'log',//选择需要操作的库,不设置时，自动已配置名加sdf前缀。
        );

        //服务器连接列表
        $mongodb = array(
            'log' => $conf_log,//日志服务器数据库另设
        );
        if(isset($mongodb[$config_name])){//如果配置文件中有所选配置
            $config = $mongodb[$config_name];
        }else{
            $config = $conf_default;//使用默认环境
        }
        if (empty($config['use_db'])){//使用库存如果没有设置，直接设置为配置名
            if($config_name == 'local'){
                $config['use_db'] = $config_name;
            }else{
                $config['use_db'] = 'sdf_'.$config_name;
            }
        }
        return $config;
    }
}

/**
 * 钉钉api相关配置
 */
class DingtalkConf{
    //微应用ID，必须与DingTalkPC.config的一致
    const AGENTID = '130778730';

    //企业id：每个企业都拥有唯一的corpId。
    const CORPID = 'ding1c8679f21d5d76f835c2f4657eb6378f';

    //corpSecret是企业应用里面用于保障数据安全的“钥匙”，每一个应用都有一个独立的访问密钥，为了保证数据的安全，corpSecret务必不能泄漏。
    const CORPSECRET = 'trv0UBDlF3uLEYEZfeUGbdnEdz1HMR75MRDauzusAfUJBS1Q5f9O3E9nVJKLH-nF';

    //用于生成签名的字符串，自己定义。
    const NONCESTR = 'abcdef';

    //加解密需要用到的token，ISV(服务提供商)推荐使用注册套件时填写的token，普通企业可以随机填写
    const TOKEN = 'abcdef';

    //数据加密密钥(ENCODING_AES_KEY)，注册事件回调接口中填写的数据加密密钥。用于回调数据的加解密，长度固定为43个字符，从a-z, A-Z, 0-9共62个字符中选取,您可以随机生成。
    const AES_KEY = '11111111lvdhntotr3x9qhlbytb18zyz5z111111111';

    //钉钉扫码登陆使用的appid和appsecret，获取地址：http://open-dev.dingtalk.com/#/loginAndShareApp
    const APPID = 'dingoaogn5ewscs9by1kcy';
    const APPSECRET = 'YBflmFdFpvlGkCwZdjNGz28FFwkptOo_jKNMNgFd9VLi4ltKPUiQPC1-rOVxqGDY';

    const SSOSECRET = 'bqxHqrL2PtSQp7jkmk_0yFZFjJkixVeZZaSOBFM7Qfo2TQJzG2VR2Q5BImX2niPx';
    const CHANNELSECRET = '92ukrKIa6sp0yCLmuHQ0bJVZtaY8zIUS0tsU19FwqWooQQvnJuEi5SwI4TVRgRHr';
}

/**
 * 系统权限菜单配置
 * Class SysAuthority
 */
class SysAuthority{
    const SYS_AUTHORITY = array(
        'ERP' => ['name' => '进销存[ERP]', 'url' => 'http://erp.' . DOMAIN_NAME, 'submenu' => []],
        'AM' => ['name' => '资金[AM]', 'url' => 'http://am.' . DOMAIN_NAME, 'submenu' => []],
        'BO' => ['name' => '报表[BO]', 'url' => 'http://bo.' . DOMAIN_NAME, 'submenu' => []],

        'CRM' => ['name' => '客户关系[CRM]', 'url' => 'http://crm.' . DOMAIN_NAME, 'submenu' => []],
        'GOODS' => ['name' => '商品系统[GOODS]', 'url' => 'http://goods.' . DOMAIN_NAME, 'submenu' => []],
        'WMS' => ['name' => '仓库系统[WMS]', 'url' => 'http://wms.' . DOMAIN_NAME, 'submenu' => []],
        'CSC' => ['name' => '客服系统[CSC]', 'url' => 'http://csc.' . DOMAIN_NAME, 'submenu' => []],
        'POS' => ['name' => '门店系统[POS]', 'url' => 'http://pos.' . DOMAIN_NAME, 'submenu' => []],
        'HR' => ['name' => 'HR系统', 'url' => 'javascript:;', 'submenu' => [
            ['name' => '用户管理', 'url' => 'http://hr.' . DOMAIN_NAME . '#/admin_user/ls'],
            ['name' => '组织架构', 'url' => 'http://hr.' . DOMAIN_NAME . '#/department/ls']
        ]],
        'TA' => ['name' => '任务', 'url' => 'http://ta.' . DOMAIN_NAME, 'submenu' => []],
        //=====模块=====
        /*'CRM'=>'客户关系管理',
        'AM'=>' 固定资产、技术资产、投资控制等',
        'SD'=>'销售计划、询价报价、订单管理、运输发货、发票等；',
        'MM'=>'采购、库存管理、MRP、供应商评价等',
        'WM'=>'仓库管理、捡配、上架、下架、移动扫描、条形码；',
        'PP'=>'工厂数据、生产计划、MRP、能力计划、成本核算等；',
        'QM'=>'质量计划、质量检测、质量控制、质量文档等；',
        'PM'=>'维护及检测计划、单据处理、历史数据、报告分析等；',
        'HR' =>'薪资、差旅、工时、招聘、发展计划、人事成本等；',
        'PS'=>'项目计划、预算、能力计划、资源管理、结果分析等；',
        'WF'=>'工作定义、流程管理、电子邮件、信息传送自动化等；',
        'PI'=> '与其他系统的集成；',
        'IS'=>'针对不同行业提供特别应用',
        'DW'=>'数据仓库；',
        'BI'=>'商务智能、智能分析；',
        'BW'=>'商务信息仓库，通过对数据抽出、分析，以报表形式展现。',
        'BO'=>'报表',*/
    );
}